package com.xinqi.modules.prepare.prepare.dto.req;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 备课区操作记录表-请求对象-修改
 *
 * @author: system
 * @date: 2023/03/19
 */
@Data
@Schema(description = "备课区操作记录表-请求对象-修改")
public class PrepareOperateLogUpdateDTO implements Serializable {
    /**
     * 主键
     */
    @Schema(description = "主键", example = "")
    private Long id;
    /**
     * 备课区id
     */
    @Schema(description = "备课区id", example = "")
    private Long prepareId;
    /**
     * 类型，1:互动课件；2:资料；3:作业；4:测评；5:讨论；6:互动视频；8:公告；99:题库；10:成员
     */
    @Schema(description = "类型，1:互动课件；2:资料；3:作业；4:测评；5:讨论；6:互动视频；8:公告；99:题库；10:成员", example = "")
    private String type;
    /**
     * 目标用户
     */
    @Schema(description = "目标对象id", example = "10001")
    private Long targetId;
    /**
     * 目标用户名称
     */
    @Schema(description = "目标对象名称", example = "试题001")
    private String targetName;
    /**
     * 操作记录
     */
    @Schema(description = "操作记录", example = "")
    private String title;
    /**
     * 操作者
     */
    @Schema(description = "操作者", example = "")
    private Long operator;
    /**
     * 操作者名称
     */
    @Schema(description = "操作者名称", example = "")
    private String operateName;
    /**
     * 操作者头像
     */
    @Schema(description = "操作者头像", example = "")
    private String operateAvatar;
    /**
     * 操作类型：FILE_EDIT-文件编辑；FILE_DEL-文件删除；MEMBER_CHANGE-成员变动；QUESTION_EDIT-编辑试题，QUESTION_DEL-删除试题
     */
    @Schema(description = "操作类型：FILE_EDIT-文件编辑；FILE_DEL-文件删除；MEMBER_CHANGE-成员变动；QUESTION_EDIT-编辑试题，QUESTION_DEL-删除试题", example = "")
    private String operateType;
    /**
     * 操作子类型：ADD-添加了；EDIT-编辑了；CHANGE-变更了；DEL-删除了
     */
    @Schema(description = "操作子类型：ADD-添加了；EDIT-编辑了；CHANGE-变更了；DEL-删除了", example = "")
    private String operateSubType;
    /**
     * 操作内容
     */
    @Schema(description = "操作内容", example = "")
    private String operateContent;
    /**
     * 恢复截止时间
     */
    @Schema(description = "恢复截止时间", example = "")
    private LocalDateTime deadlineTime;
    /**
     * 之前角色，LEADER-组长；ADMIN-管理员；MEMBER-组员
     */
    @Schema(description = "之前角色，LEADER-组长；ADMIN-管理员；MEMBER-组员", example = "")
    private String beforeRole;
    /**
     * 之后角色，LEADER-组长；ADMIN-管理员；MEMBER-组员
     */
    @Schema(description = "之后角色，LEADER-组长；ADMIN-管理员；MEMBER-组员", example = "")
    private String afterRole;
    /**
     * 扩展字段
     */
    @Schema(description = "扩展字段", example = "")
    private String extend;
}
